package com.cip.client.modelo.matricula;

import java.io.Serializable;
import java.util.List;

import javax.jdo.annotations.Extension;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.cip.client.modelo.BaseRecord;

/**
 * @author Angel
 * 
 * 
 */
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class MatriculaRecord extends BaseRecord implements Serializable {

	

	/**
	 * 
	 */
	private static final long serialVersionUID = -2953000749602707623L;

	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
	private String id;

	@Persistent
	private String curso;

	@Persistent
	private String lugarImpartido;

	@Persistent
	private String estadoMatricula;

	@Persistent
	private String promocion;

	@Persistent
	private String modalidad;

	@Persistent
	private Float importeTotal;

	@Persistent
	private Float porcentajeDescuentoAplicado;

	@Persistent
	private String medioConocimineto;

	@Persistent
	private Boolean finalizado;

	@Persistent
	private FechasMatriculaRecord fechas;
	
	@Persistent
	private List<CalificacionRecord> calificaciones;

	@Persistent
	private List<PrevisionPagosRecord> previsionPagos;

	@Persistent
	private List<PagosRecord> pagos;

	public MatriculaRecord() {

	}

	@Override
	public void copia(BaseRecord record) {
		setCurso(((MatriculaRecord) record).getCurso());
		setLugarImpartido(((MatriculaRecord) record).getLugarImpartido());
		setEstadoMatricula(((MatriculaRecord) record).getEstadoMatricula());
		setPromocion(((MatriculaRecord) record).getPromocion());
		setModalidad(((MatriculaRecord) record).getModalidad());
		setImporteTotal(((MatriculaRecord) record).getImporteTotal());
		setPorcentajeDescuentoAplicado(((MatriculaRecord) record).getPorcentajeDescuentoAplicado());
		setMedioConocimineto(((MatriculaRecord) record).getMedioConocimineto());
		setFinalizado(((MatriculaRecord) record).getFinalizado());
		setCalificaciones(((MatriculaRecord) record).getCalificaciones());
		setPrevisionPagos(((MatriculaRecord) record).getPrevisionPagos());
		setPagos(((MatriculaRecord) record).getPagos());
		setFechas(((MatriculaRecord) record).getFechas());
	}

	public String getCurso() {
		return curso;
	}

	public void setCurso(String curso) {
		this.curso = curso;
	}

	public String getLugarImpartido() {
		return lugarImpartido;
	}

	public void setLugarImpartido(String lugarImpartido) {
		this.lugarImpartido = lugarImpartido;
	}

	public String getEstadoMatricula() {
		return estadoMatricula;
	}

	public void setEstadoMatricula(String estadoMatricula) {
		this.estadoMatricula = estadoMatricula;
	}

	public String getPromocion() {
		return promocion;
	}

	public void setPromocion(String promocion) {
		this.promocion = promocion;
	}

	public String getModalidad() {
		return modalidad;
	}

	public void setModalidad(String modalidad) {
		this.modalidad = modalidad;
	}

	public Float getImporteTotal() {
		return importeTotal;
	}

	public void setImporteTotal(Float importeTotal) {
		this.importeTotal = importeTotal;
	}

	public Float getPorcentajeDescuentoAplicado() {
		return porcentajeDescuentoAplicado;
	}

	public void setPorcentajeDescuentoAplicado(Float porcentajeDescuentoAplicado) {
		this.porcentajeDescuentoAplicado = porcentajeDescuentoAplicado;
	}

	public String getMedioConocimineto() {
		return medioConocimineto;
	}

	public void setMedioConocimineto(String medioConocimineto) {
		this.medioConocimineto = medioConocimineto;
	}

	public Boolean getFinalizado() {
		return finalizado;
	}

	public void setFinalizado(Boolean finalizado) {
		this.finalizado = finalizado;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public void setPrevisionPagos(List<PrevisionPagosRecord> previsionPagos) {
		this.previsionPagos = previsionPagos;
	}

	public List<PrevisionPagosRecord> getPrevisionPagos() {
		return previsionPagos;
	}

	public void setPagos(List<PagosRecord> pagos) {
		this.pagos = pagos;
	}

	public List<PagosRecord> getPagos() {
		return pagos;
	}

	public void setCalificaciones(List<CalificacionRecord> calificaciones) {
		this.calificaciones = calificaciones;
	}

	public List<CalificacionRecord> getCalificaciones() {
		return calificaciones;
	}

	public void setFechas(FechasMatriculaRecord fechas) {
		this.fechas = fechas;
	}

	public FechasMatriculaRecord getFechas() {
		return fechas;
	}

}